//*
 //* To change this template, choose Tools | Templates
 //* and open the template in the editor.
 //*///

/*
 * FrmConsultaCaixa.java
 *
 * Created on 23/09/2009, 14:02:05
 */

package caixa.telas;

import caixa.bd.CaixaDao;
import caixa.classes.Caixa;
import caixa.classes.ConsultaCaixaTableModel;
import conexao.DAOException;
import java.awt.Image;
import java.awt.Toolkit;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.UIManager;

/**
 *
 * @author Wolverine
 */
public class FrmConsultaCaixa extends javax.swing.JFrame {

    private ConsultaCaixaTableModel model;
    private CaixaDao caixaDao;
    private Caixa caixa;

    /** Creates new form FrmConsultaCaixa */
    public FrmConsultaCaixa() {
      try {
            caixaDao = new CaixaDao();
            List<Caixa> listaCaixa = caixaDao.getCaixas();
            model = new ConsultaCaixaTableModel(listaCaixa);
       } catch (DAOException ex) {
           ex.printStackTrace();
           model = new ConsultaCaixaTableModel(new ArrayList<Caixa>());
       }
       initComponents();
        URL url = this.getClass().getResource("/imagens/logo_mini.png");
        Image imagemTitulo = Toolkit.getDefaultToolkit().getImage(url);
        this.setIconImage(imagemTitulo);
        this.setLocationRelativeTo(null);
        try{
            UIManager.setLookAndFeel("com.birosoft.liquid.LiquidLookAndFeel");
        }catch (Exception e){
        }
        ConsultaCaixajTable.getColumnModel().getColumn(0).setPreferredWidth(20);
        ConsultaCaixajTable.getColumnModel().getColumn(1).setPreferredWidth(20);
        ConsultaCaixajTable.getColumnModel().getColumn(2).setPreferredWidth(300);
        ConsultaCaixajTable.getColumnModel().getColumn(3).setPreferredWidth(30);
        ConsultaCaixajTable.getColumnModel().getColumn(4).setPreferredWidth(30);
        this.setVisible(true);
    
    }

    public Caixa getCaixa() {
        return caixa;
    }

    public void setCaixa(Caixa caixa) {
        this.caixa = caixa;
    }



    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        AssociadosjPanel = new javax.swing.JPanel();
        HistoricojTextField = new javax.swing.JTextField();
        TabeladeAssociadosScrollPane = new javax.swing.JScrollPane();
        ConsultaCaixajTable = new javax.swing.JTable();
        NomedoAssociadojLabel = new javax.swing.JLabel();
        BarradeTarefasjToolBar = new javax.swing.JToolBar();
        caixaAdicionarjButton = new javax.swing.JButton();
        caixaAlterarjButton = new javax.swing.JButton();
        CaixaExcluirjButton = new javax.swing.JButton();
        caixaPesquisarjButton = new javax.swing.JButton();
        SeparadordeTarefasjSeparator = new javax.swing.JToolBar.Separator();
        caixaImprimirjButton = new javax.swing.JButton();
        caixaVisualizarjButton = new javax.swing.JButton();
        caixaRelatoriojButton = new javax.swing.JButton();
        caixaVoltarjButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Consulta Movimento de Caixa");
        setIconImages(null);
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        AssociadosjPanel.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        AssociadosjPanel.setPreferredSize(new java.awt.Dimension(800, 600));
        AssociadosjPanel.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
        AssociadosjPanel.add(HistoricojTextField, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, 460, -1));

        ConsultaCaixajTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null},
                {null, null, null, null, null}
            },
            new String [] {
                "No. Lancamento", "Data", "Histórico", "Valor Entrada", "Valor Saída"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false, false, false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        ConsultaCaixajTable.setToolTipText("");
        ConsultaCaixajTable.setAutoscrolls(false);
        ConsultaCaixajTable.getColumnModel().getColumn(0).setPreferredWidth(30);
        ConsultaCaixajTable.getColumnModel().getColumn(1).setPreferredWidth(30);
        ConsultaCaixajTable.getColumnModel().getColumn(2).setPreferredWidth(300);
        ConsultaCaixajTable.getColumnModel().getColumn(3).setPreferredWidth(30);
        ConsultaCaixajTable.getColumnModel().getColumn(4).setPreferredWidth(30);
        TabeladeAssociadosScrollPane.setViewportView(ConsultaCaixajTable);
        ConsultaCaixajTable.getColumnModel().getColumn(0).setPreferredWidth(20);
        ConsultaCaixajTable.getColumnModel().getColumn(1).setPreferredWidth(20);
        ConsultaCaixajTable.getColumnModel().getColumn(2).setResizable(false);
        ConsultaCaixajTable.getColumnModel().getColumn(2).setPreferredWidth(300);
        ConsultaCaixajTable.getColumnModel().getColumn(3).setPreferredWidth(30);
        ConsultaCaixajTable.getColumnModel().getColumn(4).setPreferredWidth(30);

        AssociadosjPanel.add(TabeladeAssociadosScrollPane, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 70, 820, 250));

        NomedoAssociadojLabel.setText("Histórico");
        AssociadosjPanel.add(NomedoAssociadojLabel, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 23, -1, -1));

        BarradeTarefasjToolBar.setFloatable(false);
        BarradeTarefasjToolBar.setRollover(true);

        caixaAdicionarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/dinheiromais.png"))); // NOI18N
        caixaAdicionarjButton.setText("Lançar");
        caixaAdicionarjButton.setToolTipText("Voltar");
        caixaAdicionarjButton.setFocusable(false);
        caixaAdicionarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaAdicionarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaAdicionarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaAdicionarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaAdicionarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        caixaAdicionarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                caixaAdicionarjButtonActionPerformed(evt);
            }
        });
        BarradeTarefasjToolBar.add(caixaAdicionarjButton);

        caixaAlterarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/dinheiroedit.png"))); // NOI18N
        caixaAlterarjButton.setText("Alterar");
        caixaAlterarjButton.setToolTipText("Excluir Lançamento");
        caixaAlterarjButton.setFocusable(false);
        caixaAlterarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaAlterarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaAlterarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaAlterarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaAlterarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        caixaAlterarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                caixaAlterarjButtonActionPerformed(evt);
            }
        });
        BarradeTarefasjToolBar.add(caixaAlterarjButton);

        CaixaExcluirjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/dinheiromenos.png"))); // NOI18N
        CaixaExcluirjButton.setText("Excluir");
        CaixaExcluirjButton.setToolTipText("Excluir Lançamento");
        CaixaExcluirjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        CaixaExcluirjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        CaixaExcluirjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        CaixaExcluirjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        CaixaExcluirjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        CaixaExcluirjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                CaixaExcluirjButtonActionPerformed(evt);
            }
        });
        BarradeTarefasjToolBar.add(CaixaExcluirjButton);

        caixaPesquisarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/pesquisar.png"))); // NOI18N
        caixaPesquisarjButton.setText("Pesquisar");
        caixaPesquisarjButton.setToolTipText("Pesquisar Lançamento");
        caixaPesquisarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaPesquisarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaPesquisarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaPesquisarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaPesquisarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(caixaPesquisarjButton);
        BarradeTarefasjToolBar.add(SeparadordeTarefasjSeparator);

        caixaImprimirjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/impressao.png"))); // NOI18N
        caixaImprimirjButton.setText("Imprimir");
        caixaImprimirjButton.setToolTipText("Imprimir");
        caixaImprimirjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaImprimirjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaImprimirjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaImprimirjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaImprimirjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(caixaImprimirjButton);

        caixaVisualizarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/visualizar.png"))); // NOI18N
        caixaVisualizarjButton.setText("Visualizar");
        caixaVisualizarjButton.setToolTipText("Visualizar Lançamento");
        caixaVisualizarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaVisualizarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaVisualizarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaVisualizarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaVisualizarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(caixaVisualizarjButton);

        caixaRelatoriojButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/relatorio.png"))); // NOI18N
        caixaRelatoriojButton.setText("Relatórios");
        caixaRelatoriojButton.setToolTipText("Relatórios");
        caixaRelatoriojButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaRelatoriojButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaRelatoriojButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaRelatoriojButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaRelatoriojButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        BarradeTarefasjToolBar.add(caixaRelatoriojButton);

        caixaVoltarjButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/voltar.png"))); // NOI18N
        caixaVoltarjButton.setText("Voltar");
        caixaVoltarjButton.setToolTipText("Voltar");
        caixaVoltarjButton.setFocusable(false);
        caixaVoltarjButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        caixaVoltarjButton.setMaximumSize(new java.awt.Dimension(80, 90));
        caixaVoltarjButton.setMinimumSize(new java.awt.Dimension(80, 90));
        caixaVoltarjButton.setPreferredSize(new java.awt.Dimension(80, 90));
        caixaVoltarjButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        caixaVoltarjButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                caixaVoltarjButtonActionPerformed(evt);
            }
        });
        BarradeTarefasjToolBar.add(caixaVoltarjButton);

        AssociadosjPanel.add(BarradeTarefasjToolBar, new org.netbeans.lib.awtextra.AbsoluteConstraints(110, 340, 650, 80));

        getContentPane().add(AssociadosjPanel, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 860, 430));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void caixaVoltarjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_caixaVoltarjButtonActionPerformed
        this.dispose();
    }//GEN-LAST:event_caixaVoltarjButtonActionPerformed

    private void caixaAdicionarjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_caixaAdicionarjButtonActionPerformed
        try {
            new FrmCaixa(null);
        } catch (DAOException ex) {
            JOptionPane.showMessageDialog(null, "Erro ao Lançar no Caixa\n" + ex);
        }
    }//GEN-LAST:event_caixaAdicionarjButtonActionPerformed

    private void caixaAlterarjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_caixaAlterarjButtonActionPerformed
        if (ConsultaCaixajTable.getSelectedRow()>=0){
              setCaixa(model.getCaixa(ConsultaCaixajTable.getSelectedRow()));
            try {
                new FrmCaixa(getCaixa());
            } catch (DAOException ex) {
                JOptionPane.showMessageDialog(null, "Erro Altear Lançamento\n" + ex);
             }
        }
    }//GEN-LAST:event_caixaAlterarjButtonActionPerformed

    private void CaixaExcluirjButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CaixaExcluirjButtonActionPerformed
        if (ConsultaCaixajTable.getSelectedRow()>=0){
            setCaixa(model.getCaixa(ConsultaCaixajTable.getSelectedRow()));
            try {
                caixaDao.excluirCaixa(getCaixa());
            } catch (DAOException ex) {
                JOptionPane.showMessageDialog(null, "Erro ao Excluir Lançamento\n" + ex);
            }
        }

    }//GEN-LAST:event_CaixaExcluirjButtonActionPerformed

    /**
    * @param args the command line arguments
    */
  

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel AssociadosjPanel;
    private javax.swing.JToolBar BarradeTarefasjToolBar;
    private javax.swing.JButton CaixaExcluirjButton;
    private javax.swing.JTable ConsultaCaixajTable;
    private javax.swing.JTextField HistoricojTextField;
    private javax.swing.JLabel NomedoAssociadojLabel;
    private javax.swing.JToolBar.Separator SeparadordeTarefasjSeparator;
    private javax.swing.JScrollPane TabeladeAssociadosScrollPane;
    private javax.swing.JButton caixaAdicionarjButton;
    private javax.swing.JButton caixaAlterarjButton;
    private javax.swing.JButton caixaImprimirjButton;
    private javax.swing.JButton caixaPesquisarjButton;
    private javax.swing.JButton caixaRelatoriojButton;
    private javax.swing.JButton caixaVisualizarjButton;
    private javax.swing.JButton caixaVoltarjButton;
    // End of variables declaration//GEN-END:variables



}
